package com.haoze.nurse.service;

import com.haoze.common.response.Result;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface PatientService {

    /**
     * 获取住院病人信息简卡
     * @param page
     * @param pageSize
     * @param wardId
     * @return
     */
    Result getPatientInfoCards(Integer page, Integer pageSize, String wardId, String search);

    /**
     * 获取病人信息
     * @param qrCode
     * @return
     */
    Result getPatientInfo(@Param("qrCode") String qrCode);

    /**
     * 获取病情信息
     */
    Result conditionInfo(@Param("inpatNum") String inpatNum,@Param("wardId") String wardId);

    /**
     * 获取病区
     * @return
     */
    Result getDepts();


    /**
     * 获取检查列表
     * @param inpatNum 住院号
     * @param times
     * @param type
     * @param pageNum
     * @param pageSize
     * @return
     */
    Result getExamList(String inpatNum, String times, String type, Integer pageNum, Integer pageSize);


    /**
     * 获取检查详情
     * @param examItemId
     * @return
     */
    Result getExamDetail(String examItemId);

    /**
     * 获取检验列表
     * @param inpatNum 检验状态(空是全部，1，已出报告，2未出报告)
     * @param type 时间
     * @param times
     * @param pageNum
     * @param pageSize
     * @return
     */
    Result getLabList(String inpatNum, String type, String times, Integer pageNum, Integer pageSize);

    /**
     * 获取检验详情
     * @param labItemId
     * @return
     */
    Result geLabDetail(String labItemId);

    /**
     * 获取病人信息，并计算病人年龄
     * @param inpatNum
     * @return
     */
    Map<String,String> getPatientInfoWithComputeAge(String inpatNum);

    List<Map<String, String>> listPatients(String wardId, String queryString);
}
